//
//  SEGSharedNewManager.h
//  ExcellentHome
//
//  Created by 揭婧雯 on 2017/10/17.
//  Copyright © 2017年 陈区. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "SEGSharedTopLineModel.h"
#import "SEGSharedRecommendModel.h"
#import "SEGSharedCommentModel.h"
#import "SEGSharedNeihborhoodModel.h"
#import "SEGSharedFowardModel.h"
#import "SEGReportReasonModel.h"
#import "SEGHelpLabelModel.h"
#import "SEGDailySubjectModel.h"
#import "SEGDailyContentModel.h"

@interface SEGSharedNewManager : NSObject
/** 邻里圈列表总页数 */
@property (nonatomic, assign) NSInteger neighborhoodTotalSize;
/** 评论总数 */
@property (nonatomic, strong) NSNumber *commentAmount;

/**
 * 获取邻里头条
 * @author Wendy
 */
- (void)requestTopLine:(SEGRequestCallBack)finished;
/**
 邻里头条数组
 */
@property (nonatomic, strong)NSArray<SEGSharedTopLineModel *> *topLineArray;

/**
 * 获取侧滑推荐位
 * @author Wendy
 * @param pageNo  页码
 * @param pageLimit  每页数据条数
 */
- (void)requestRecommendWithPageNo:(NSString *)pageNo
                         pageLimit:(NSString *)pageLimit
                          finished:(SEGRequestCallBack)finished;
/**
 侧滑推荐数组
 */
@property (nonatomic, strong)NSArray<SEGSharedRecommendModel *> *recommendArray;

/**
 * 获取侧滑推荐位--查看更多
 * @author Wendy
 * @param pageNo  页码
 * @param pageLimit  每页数据条数
 */
- (void)requestMoreRecommendWithPageNo:(NSString *)pageNo
                             pageLimit:(NSString *)pageLimit
                              finished:(SEGRequestCallBack)finished;
/**
 侧滑推荐查看更多数组
 */
@property (nonatomic, strong)NSArray<SEGSharedRecommendModel *> *recommendMoreArray;

/**
 * 获取邻里圈列表某一项的所有子评论列表 新接口
 * @author Wendy
 * @param objId  主键id
 * @param objType  类型
 */
- (void)requestAllQueryCommentsWithObjId:(NSString *)objId
                                 objType:(NSString *)objType
                                finished:(SEGRequestCallBack)finished;
/**
 子评论评论数组
 */
@property (nonatomic, strong)NSMutableArray<SEGSharedCommentChildCommentModel *> *childCommentsArray;

/**
 * 删除参与记录
 * @author Wendy
 * @param objId
 * @param objType  类型
 */
- (void)requestDeleteJoinHistoryWithObjId:(NSString *)objId
                                  objType:(NSString *)objType
                                 finished:(SEGRequestCallBack)finished;

/**
 * 删除评论
 * @author Wendy
 * @param commentId  评论id
 * @param objType  类型
 */
- (void)requestDeleteCommentWithCommentId:(NSString *)commentId
                                  objType:(NSString *)objType
                                 finished:(SEGRequestCallBack)finished;

/**
 * 获取评论列表
 * @author Wendy
 * @param objId  主键id
 * @param objType  类型
 * @param pageNo  页码
 * @param pageLimit  每页数据条数
 */
- (void)requestQueryCommentsWithObjId:(NSString *)objId
                              objType:(NSString *)objType
                               pageNo:(NSString *)pageNo
                            pageLimit:(NSString *)pageLimit
                             finished:(SEGRequestCallBack)finished;
/**
 评论数组
 */
@property (nonatomic, strong)NSMutableArray<SEGSharedCommentModel *> *commentsArray;

/**
 * 获取邻里圈列表
 * @author Wendy
 * @param scopeId  范围 1：本社区  2：周城汇  3：四合院
 * @param objId  邻里头条id 可选
 * @param cityId  当前登录人的市id
 * @param objType 类型 可选
 * @param pageNo  页码
 * @param pageLimit  每页数据条数
 */
- (void)requestNeighborhoodWithScopeId:(NSString *)scopeId
                                 objId:(NSString *)objId
                                cityId:(NSString *)cityId
                               objType:(NSString *)objType
                                pageNo:(NSString *)pageNo
                             pageLimit:(NSString *)pageLimit
                           communityId:(NSString *)communityId
                              moduleId:(NSString *)moduleId
                              finished:(SEGRequestCallBack)finished;

/**
 查询单条邻里圈数据
 
 @param objId 数据ID
 @param objType 类型
 @param finished 回调
 */
- (void)queryNeighborhoodSingleWithObjId:(NSString *)objId
                                 objType:(NSString *)objType
                                finished:(SEGRequestCallBack)finished;

/**
 邻里圈列表数组
 */
@property (nonatomic, strong)NSMutableArray<SEGSharedNeihborhoodModel *> *neighborhoodListArray;
/**
 邻里圈 需要替换的model
 */
@property (nonatomic, strong) SEGSharedNeihborhoodModel *replaceModel;
/**
 加载提示
 */
@property (nonatomic, copy) NSString *tips;
/**
 是否有邻里圈本社区新数据
 */
@property (nonatomic, assign) BOOL isNewDate;
/**
 每日精选数据
 */
@property (nonatomic, strong)SEGDailySubjectModel *dailySubjectModel;

/**
 * 获取UGC详情 -转发
 * @author Wendy
 * @param objId  业务id
 * @param objType  类务类型
 */
- (void)requestForwardWithObjType:(NSString *)objType
                            objId:(NSString *)objId
                         finished:(SEGRequestCallBack)finished;
/**
 UGC详情 -转发model
 */
@property (nonatomic, strong)SEGSharedFowardModel *fowardInfoModel;
/**
 UGC详情 -转发user
 */
@property (nonatomic, strong)SEGSharedCommonUserModel *fowardUserModel;

#pragma mark - 评论
///  新增问题答案
///
///  @param quizId         问题ID
///  @param answContent    答案内容
///  @param creator        回答问题者的NICK
///  @param byReviewId     如果回复的是主贴 byReviewId 和 byReviewNick 两个字段不传（消息接受者的用户ID，对于话题和PGC等系统发布的内容不传，其他情况要传）字段一定要传
///  @param byReviewNick   如果回复的是主贴 byReviewId 和 byReviewNick 两个字段不传（消息接受者的用户ID，对于话题和PGC等系统发布的内容不传，其他情况要传）字段一定要传
///  @param byReviewUserId 被回评者对象的用户ID，即记录创建者的用户Id
///  @param objSendUserId  对象发布者ID
///  @param objPicUrlForMsg  消息图片 主要是 2手 闲置 帮帮
///  @param objTitleForMsg  消息标题,如果是对PGC或者话题等系统发起的 objTitleForMsg为对应的标题，帮帮则为帮帮的标题（即问题的内容）否则objTitleForMsg为 评论内容
///  @param objeType
///  @param parentObjId    主题对象ID
///  @param operationType 邻里圈类型
///  @param sourceCommentId 对子评论进行回复时，传子评论的ID
///  @param isParent 是否是对主数据进行评论 1：是 2：不是
- (void)requestSaveQuizAnswerByquizId:(NSString*)quizId
                          answContent:(NSString*)answContent
                              creator:(NSString*)creator
                           byReviewId:(NSString*)byReviewId
                         byReviewNick:(NSString*)byReviewNick
                       byReviewUserId:(NSString*)byReviewUserId
                        objSendUserId:(NSString*)objSendUserId
                      objPicUrlForMsg:(NSString*)objPicUrlForMsg
                       objTitleForMsg:(NSString*)objTitleForMsg
                             objeType:(NSString*)objeType
                          parentObjId:(NSString*)parentObjId
                        parentObjType:(NSInteger)parentObjType
                        operationType:(NSString *)operationType
                      sourceCommentId:(NSString *)sourceCommentId
                             isParent:(NSString *)isParent
                             Finished:(SEGRequestCallBack)finished;

///  新增评论
///
///  @param objId          评论主题对象ID
///  @param objType        评论主题对象类型 1画报 2问题 3评论 4问题答案 9闲置2手 10 闲置出借
///  @param commentContent 评论内容
///  @param userId         评论者的用户ID
///  @param creator        评论者的创建者NICK
///  @param byReviewId     被回评者对象IDbyReviewId、byReviewNick：回复的是主贴，两个字段不传
///  @param byReviewNick   被回评者对象的昵称byReviewId、byReviewNick：回复的是主贴，两个字段不传
///  @param byReviewUserId 被回评者对象的用户ID，即记录创建者的用户Id byReviewUserId：回复的是主贴，回复评论的评论，字段一定要传，内容：［话题、PGC］不传内容，其他的都传
///  @param communityName  城市+小区名称
///  @param communityId    小区ID
///  @param objPicUrlForMsg  消息图片 主要是 2手 闲置 帮帮
///  @param objTitleForMsg  消息标题,如果是对PGC或者话题等系统发起的 objTitleForMsg为对应的标题，帮帮则为帮帮的标题（即问题的内容）否则objTitleForMsg为 评论内容
///  @param parentObjType   枚举值 SEGUserType
///  @param operationType 邻里圈类型
///  @param isParent 是否是对主数据进行评论 1：是 2：不是
- (void)requestCommentSaveByobjId:(NSString*)objId
                          objType:(NSString*)objType
                   commentContent:(NSString*)commentContent
                          creator:(NSString*)creator
                       byReviewId:(NSString*)byReviewId
                     byReviewNick:(NSString*)byReviewNick
                   byReviewUserId:(NSString*)byReviewUserId
                  objPicUrlForMsg:(NSString*)objPicUrlForMsg
                   objTitleForMsg:(NSString*)objTitleForMsg
                      parentObjId:(NSString*)parentObjId
                    parentObjType:(NSInteger)parentObjType
                    operationType:(NSString *)operationType
                  sourceCommentId:(NSString *)sourceCommentId
                         isParent:(NSString *)isParent
                         Finished:(SEGRequestCallBack)finished;
/**
 * 请求举报原因
 * @author Wendy
 * @param finished 回调结果
 */
- (void)requestReportReasonType:(SEGNetworkReponse)finished;
/**
 举报原因数组
 */
@property (nonatomic, strong)NSArray <SEGReportReasonModel *> *reportReasonArray;


/**
 * 提交举报
 * @author Wendy
 * @param byReportedId 被举报人ID
 * @param byReportedNickname  被举报人昵称
 * @param byReportedContId  被举报内容ID
 * @param byReportedContTypeCode  被举报内容类型编码
 * @param byReportedContDetails  被举报内容详情文字
 * @param byReportedContImages  被举报内容详情图片（多个，号分隔）
 * @param reportReasonCode  举报理由编码
 * @param reportReasonName  举报理由名称
 * @param pgcTitle pgc标题
 * @param finished 回调结果
 */
- (void)requestSubmitComplaintWithByReportedId:(NSString *)byReportedId
                            byReportedNickname:(NSString *)byReportedNickname
                              byReportedContId:(NSString *)byReportedContId
                        byReportedContTypeCode:(NSString *)byReportedContTypeCode
                         byReportedContDetails:(NSString *)byReportedContDetails
                          byReportedContImages:(NSString *)byReportedContImages
                              reportReasonCode:(NSString *)reportReasonCode
                              reportReasonName:(NSString *)reportReasonName
                                      pgcTitle:(NSString *)pgcTitle
                                      finished:(SEGRequestCallBack)finished;

/**
 * 请求求助标签
 * @author Wendy
 * @param finished 回调结果
 */
- (void)requestHelpLabelList:(SEGNetworkReponse)finished;
/**
 寻求帮助标签数组
 */
@property (nonatomic, strong)NSArray <SEGHelpLabelModel *> *askForHelpArray;
/**
 提供帮助标签数组
 */
@property (nonatomic, strong)NSArray <SEGHelpLabelModel *> *provideHelpArray;

#pragma mark - 每日精选
/**
 * 获取每日精选主题
 * @author Wendy
 * @param pageNo  页码
 * @param pageLimit  每页数据条数
 */
- (void)requestDailySubjectArrayWithPageNo:(NSString *)pageNo
                                 pageLimit:(NSString *)pageLimit
                                  finished:(SEGRequestCallBack)finished;
/**
 每日精选主题数组 - 列表
 */
@property (nonatomic, strong)NSArray<SEGDailySubjectModel *> *recommendSubjectArray;
/**
 每日精选主题总页数
 */
@property (nonatomic, assign)NSInteger dailySubjectTotalPages;

/**
 * 获取侧滑推荐位--查看更多
 * @author Wendy
 * @param pageNo  页码
 * @param pageLimit  每页数据条数
 * @param topicId 所属主题的ID
 */
- (void)requestDailyContentArrayWithPageNo:(NSString *)pageNo
                                 pageLimit:(NSString *)pageLimit
                                   topicId:(NSString *)topicId
                                  finished:(SEGRequestCallBack)finished;
/**
 每日精选内容数组
 */
@property (nonatomic, strong)NSArray<SEGDailyContentModel *> *recommendContentArray;
/**
 每日精选内容总页数
 */
@property (nonatomic, assign)NSInteger dailyContentTotalPages;
/**
 每日精选内容总条数
 */
@property (nonatomic, assign)NSInteger dailyContentTotalCount;

@end
